/**
*  \file swidft.c
*
*  \brief Software ID from time.
*
*  \author Michael J. Hohmann  <michael.hohmann@linde-mh.de>
*
*
*/

/*===============================================[ private includes  ]================================================*/
#include "swidft.h"
#include "../timex/timex.h"
#include <string.h>

/*===============================================[ private defines   ]================================================*/

/*===============================================[ private datatypes ]================================================*/

/*===============================================[ private variables ]================================================*/

static const CH obfuscate[10]={'1','2','3','4','5','6','7','8','9','0'};

/*===============================================[ private functions ]================================================*/

/*================================================[ inline functions ]================================================*/

/*================================================[ public functions ]================================================*/
RC swidft_software_id_from_time(U32 time, CH str[]  )
{
	struct timex_date date;
	RC rv;

	rv =(RC) timex_TimeToDate( time,  &date );

	if( RC_SUCCESS == rv )
	{
		str[0]= obfuscate[ date.tm_mday / 10];
		str[1]= obfuscate[ date.tm_mday % 10];

		str[2]= obfuscate[ (date.tm_mon+1) / 10]; /* Month range is from 0..11 therefore add one */
		str[3]= obfuscate[ (date.tm_mon+1) % 10];

		str[4]= obfuscate[ (date.tm_year / 10) % 10 ]; /* tm_year is likely > 100 */
		str[5]= obfuscate[ date.tm_year % 10];

		str[6]= obfuscate[ date.tm_hour / 10];
		str[7]= obfuscate[ date.tm_hour % 10];

		str[8]= obfuscate[ date.tm_min / 10];
		str[9]= obfuscate[ date.tm_min % 10];
	
		str[10]= obfuscate[ date.tm_sec / 10];
		str[11]= obfuscate[ date.tm_sec % 10];

		str[12]= 0; /* Null terminated string */
	}
    else
    {
        memset( str, '0',12);
		str[12]= 0; /* Null terminated string */
    }
	return rv;
}
/*===============================================[ private functions ]================================================*/


/***********************************************************************************************************************
*                             Copyright 2017 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
